﻿// //  ********************************************************************************
// //  Copyright (C) 2016 Sebastian Kenter. All rights reserved.
// // 
// //  Name    : PhotonServerProject | PhotonServerFramework | ITelegram.cs
// //  Created : 2016 - 03 - 21 10:04
// //  Modified: 2016 - 04 - 18 09:38
// //  ********************************************************************************

using System.Collections.Generic;
using PhotonServerCommon.Enums;

namespace PhotonServerFramework.Interfaces.Telegram
{
    /// <summary>
    ///     Interface for a telegram (exchanging messages between servers)
    /// </summary>
    public interface ITelegram
    {
        /// <summary>
        ///     The type of the telegram (Request, Response or Event)
        /// </summary>
        TelegramTypes Type { get; }

        /// <summary>
        ///     The OperationCode of the telegram
        /// </summary>
        byte TelegramCode { get; }

        /// <summary>
        ///     The OperationSubCode of the telegram
        /// </summary>
        int TelegramSubCode { get; }

        /// <summary>
        ///     The parameters of the telegram
        /// </summary>
        Dictionary<byte, object> TelegramParameters { get; }
    }
}
